//
//  MethodViewController.swift
//  test_swift
//
//  Created by fangyuan ding on 2021/5/31.
//

import UIKit

class MethodViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
//        class Counter {
//            var count = 0
//            func increment() {
//                count += 1
//            }
//            func incrementBy(amount: Int) {
//                count += amount
//            }
//            func reset() {
//                count = 0
//            }
//        }
//        // 初始计数值是0
//        let counter = Counter()
//
//        // 计数值现在是1
//        counter.increment()
//
//        // 计数值现在是6
//        counter.incrementBy(amount: 5)
//        print(counter.count)
//
//        // 计数值现在是0
//        counter.reset()
//        print(counter.count)
        
//        class division {
//            var count: Int = 0
//            func incrementBy(no1: Int, no2: Int) {
//                count = no1 / no2
//                print(count)
//            }
//        }
//
//        let counter = division()
//        counter.incrementBy(no1: 1800, no2: 3)
//        counter.incrementBy(no1: 1600, no2: 5)
//        counter.incrementBy(no1: 11000, no2: 3)
//        class multiplication {
//            var count: Int = 0
//            func incrementBy(first no1: Int, no2: Int) {
//                count = no1 * no2
//                print(count)
//            }
//        }
//
//        let counter = multiplication()
//        counter.incrementBy(first: 800, no2: 3)
//        counter.incrementBy(first: 100, no2: 5)
//        counter.incrementBy(first: 15000, no2: 3)
        
//        class calculations {
//            let a: Int
//            let b: Int
//            let res: Int
//
//            init(a: Int, b: Int) {
//                self.a = a
//                self.b = b
//                res = a + b
//                print("Self 内: \(res)")
//            }
//
//            func tot(c: Int) -> Int {
//                return res - c
//            }
//
//            func result() {
//                print("结果为: \(tot(c: 20))")
//                print("结果为: \(tot(c: 50))")
//            }
//        }
//
//        let pri = calculations(a: 600, b: 300)
//        let sum = calculations(a: 1200, b: 300)
//
//        pri.result()
//        sum.result()
        
//        struct area {
//            var length = 1
//            var breadth = 1
//
//            func area() -> Int {
//                return length * breadth
//            }
//
//            mutating func scaleBy(res: Int) {
//                length *= res
//                breadth *= res
//
//                print(length)
//                print(breadth)
//            }
//        }
//
//        var val = area(length: 3, breadth: 5)
//        val.scaleBy(res: 3)
//        val.scaleBy(res: 30)
//        val.scaleBy(res: 300)
        
        
        struct area {
            var length = 1
            var breadth = 1

            func area() -> Int {
                return length * breadth
            }

            mutating func scaleBy(res: Int) {
                self.length *= res
                self.breadth *= res
                print(length)
                print(breadth)
            }
        }
        var val = area(length: 3, breadth: 5)
        val.scaleBy(res: 13)
        

        class Math
        {
            class func abs(number: Int) -> Int
            {
                if number < 0
                {
                    return (-number)
                }
                else
                {
                    return number
                }
            }
        }

        struct absno
        {
            static func abs(number: Int) -> Int
            {
                if number < 0
                {
                    return (-number)
                }
                else
                {
                    return number
                }
            }
        }

        let no = Math.abs(number: -35)
        let num = absno.abs(number: -5)

        print(no)
        print(num)

       
    }
    

 

}
